// pages/user/user.js
import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog.js';
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast.js';
let promise = require('../../utils/promise')
let api = require('../../utils/api')
Page({

    /**
     * 页面的初始数据
     */
    data: {
        avatar: '../../asset/moren.jpg',
        userName: "立即登录",
        psd: null,
        loginIcon: "arrow",
        show: false
    },
    // 弹出层打开
    showPopup() {
        this.setData({
            show: true
        });
    },
    // 弹出层关闭
    onClose() {
        this.setData({
            show: false
        });
    },

    getUserName(e) {
        console.log(e.detail)
        this.data.userName = e.detail
    },
    getUserPsd(e) {
        this.setData({
            psd: e.detail
        })
    },

    //  请求登录
    toLogin() {
        let _this = this
        wx.login({
            success: (res) => {
                console.log(res)
                if (res.code) {
                    let userName = _this.data.userName
                    let psd = _this.data.psd
                    promise.fetchTime({
                        url: api.AuthLoginByWeixin,
                        method: "POST",
                        data: {
                            username: userName,
                            pwd: psd
                        }
                    }).then(res => {
                        // 这里拿到用户凭证 token, userInfo
                        // 1 渲染页面信息
                        // 2 存储token
                        // 3 关闭弹出层
                        console.log(res.data.data)
                        let token = res.data.data.token
                        let userInfo = res.data.data.userInfo
                        setTimeout(() => {
                            _this.setData({
                                avatar: userInfo.avatar,
                                userName: userInfo.username,
                                loginIcon: "cross",
                                show: false
                            })
                        }, 800)
                        wx.setStorageSync('token', token)
                        wx.setStorageSync('userInfo', userInfo)
                    }).catch(res => {})
                }
            },
            fail: (res) => {},
            complete: (res) => {},
        })
    },
    // 退出登录
    loginOut() {
        let _this = this
        var token = wx.getStorageSync('token')
        if (!token) {
            return
        } else {
            // 弹出框
            Dialog.confirm({
                title: '登出账号确认',
                message: '您是否想要推出当前账号？'
            })
            .then(() => {
                // 1 退出登录操作
                Toast("退出登录成功！")
                // 2 删除本地token值和userInfo
                wx.removeStorageSync('token')
                wx.removeStorageSync('userInfo')
                // 3.修改页面信息，头像，用户昵称等，还原
                _this.setData({
                    avatar: '../../assets/avatar.png',
                    userPwd: null,
                    loginIcon: 'arrow',
                    userName: '立即登录'
                })
            })
            .catch(() => {})
        }
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        this.getTabBar().setData({
            active: 4 //0 1 2 3 4
        })
        var userInfo = wx.getStorageSync('userInfo')
        if (userInfo) {
            this.setData({
                userName: userInfo.username,
                avatar: userInfo.avatar,
                loginIcon: "cross"
            })
        }
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})